package com.example.ai.entity;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 商品信息数据传输对象（DTO）
 *
 * @author czwa
 * @description 封装商品的基础属性、库存价格信息、分页参数及供应链关联信息
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Good {
    /** 商品唯一标识ID */
    private int id;

    /** 商品名称 */
    private String name;

    /** 商品库存数量 */
    private int stock;

    /** 商品单价（单位：元） */
    private double price;

    /** 商品主图URL地址 */
    private String image;

    /** 商品详细描述 */
    private String description;

    /** 创建时间（自动填充） */
    private LocalDateTime createTime;

    /** 创建者ID（关联用户表主键） */
    private Long creator;

    /** 最后更新时间（自动填充） */
    private LocalDateTime updateTime;

    /** 最后更新者ID（关联用户表主键） */
    private Long updater;

    /** 价格上限（查询条件参数） */
    private Integer maxPrice;

    /** 价格下限（查询条件参数） */
    private Integer minPrice;

    /** 分页页码（默认值：1） */
    private Integer page;

    /** 分页每页数量（默认值：10） */
    private Integer pageSize;

    /** 供应商名称（关联供应链信息） */
    private String supplyName;
}